package com.xuecheng.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.content.model.dto.BindTeachPlanMediaDto;
import com.xuecheng.content.model.dto.SaveTeachPlanDto;
import com.xuecheng.content.model.dto.TeachPlanDto;
import com.xuecheng.content.model.po.TeachPlan;
import com.xuecheng.content.model.po.TeachPlanMedia;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: ws
 * Date: 2024-06-11
 * Time: 22:53
 */
public interface TeachPlanService {

    /**
     * 根据课程id查询课程计划
     *
     * @param courseId 课程计划id
     * @return
     */
    List<TeachPlanDto> findTeachPlanTree(Long courseId);


    /**
     * 新增/修改课程计划
     *
     * @param saveTeachPlanDto
     * @return
     */
    void saveTeachPlan(SaveTeachPlanDto saveTeachPlanDto);

    /**
     * 删除课程计划
     *
     * @param id
     */
    void removeTeachPlan(Long id);

    /**
     * 课程计划上移下移
     *
     * @param teachPlanId
     * @param moveType
     */
    void moveTeachPlan(Long teachPlanId, String moveType);


    /**
     * @param bindTeachplanMediaDto
     * @return com.xuecheng.content.model.po.TeachplanMedia
     * @description 教学计划绑定媒资
     */
    TeachPlanMedia associationMedia(BindTeachPlanMediaDto bindTeachplanMediaDto);


    /**
     * 解绑媒资
     * @param teachPlanId
     * @param mediaId
     */
    void unbindMedia(Long teachPlanId, String mediaId);

}
